//
//  OCCertTests.m
//  OCCertTests
//
//  Created by 武侠 on 2022/3/7.
//

#import <XCTest/XCTest.h>
#import "CertUtil.h"

@interface OCCertTests : XCTestCase

@end

@implementation OCCertTests

- (void)setUp {
    // Put setup code here. This method is called before the invocation of each test method in the class.
}

- (void)tearDown {
    // Put teardown code here. This method is called after the invocation of each test method in the class.
}

// 测试：CFCA证书
- (void)testCFCACert {
    NSString *cert = @"MIIC0jCCAnWgAwIBAgIFIFBRA3kwDAYIKoEcz1UBg3UFADBdMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRwwGgYDVQQDDBNDRkNBIFRFU1QgU00yIE9DQTExMB4XDTIxMTExNzA3MDAzMFoXDTIyMTExNzA3MDAzMFowdDELMAkGA1UEBhMCQ04xFTATBgNVBAoMDENGQ0EgVEVTVCBDQTEOMAwGA1UECwwFWlpKWFcxGTAXBgNVBAsMEE9yZ2FuaXphdGlvbmFsLTIxIzAhBgNVBAMMGjA1MUDmtYvor5XkvIHkuJpAWjEyMzQ1NkAxMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEybTuTWuU1MsBj2uwZxDk/5IofwiVbVCGUC/SdsvdFJ2punYSkdLrTXSCjcrGW5ETqbMl1GlDsBmfedYymBLuT6OCAQcwggEDMB8GA1UdIwQYMBaAFL6mfk09fI+gVebBLwkuLCBDs0J/MAwGA1UdEwEB/wQCMAAwSAYDVR0gBEEwPzA9BghggRyG7yoBAjAxMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmNmY2EuY29tLmNuL3VzL3VzLTE1Lmh0bTA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vMjEwLjc0LjQyLjMvT0NBMTEvU00yL2NybDE0NTUwLmNybDAOBgNVHQ8BAf8EBAMCBsAwHQYDVR0OBBYEFBfBsj1yUEDXlW6QcJCK10olBk+pMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAMBggqgRzPVQGDdQUAA0kAMEYCIQD4NbE16naa/6tEU0xC7s0y4EpF+leW3QYspnjfSKLegAIhANDMmhOz3id51AGW1SOBgjBOur56HdmBYhjhTLhpFbYK";
    X509Cert *x509 = [[X509Cert alloc] initWithBase64:cert];
    NSLog(@"[CFCA] 签名证书：");
    [x509 printCert];
    
    NSString *cert1 = @"MIICrDCCAlCgAwIBAgIIMwAAAAeUgZgwDAYIKoEcz1UBg3UFADBhMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSAwHgYDVQQDDBdDRkNBIEFDUyBURVNUIFNNMiBPQ0EzMzAeFw0yMTA3MDYxMTQzMDlaFw0yNjA3MDYxMTQzMDlaMIGQMQswCQYDVQQGEwJDTjEOMAwGA1UECgwFT0NBMzMxDzANBgNVBAsMBllCR0daWTEZMBcGA1UECwwQT3JnYW5pemF0aW9uYWwtMjFFMEMGA1UEAww8WUJHR1pZQOetkem+meWkp+mHh+i0reWGhea1i+S8geS4mjEzMzdAWlFSUlIyMjExMTExMTExMTEzN0AxMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEtPUs7ofXm4EZ+mtlTKVznldiVGUGsBvBSDumhzwkvBvzUE/Z9dLRP51NwONxHCnLPid08I3+V+lo+GRozcL+DqOBvzCBvDAfBgNVHSMEGDAWgBQObS0zBI7wCm48/LZ8tTP1uhF7+DAMBgNVHRMBAf8EAjAAMD0GA1UdHwQ2MDQwMqAwoC6GLGh0dHA6Ly91Y3JsLmNmY2EuY29tLmNuL09DQTMzL1NNMi9jcmwyMzguY3JsMA4GA1UdDwEB/wQEAwIGwDAdBgNVHQ4EFgQUdlsw3KHSCpIRQ0rK2uNZPG8TNWUwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMAwGCCqBHM9VAYN1BQADSAAwRQIgHMzsFbFnZ4GvNWk55ktgjXNwevVgcSZRgA6bBV0xLu8CIQCrqoLnfY1TLtcA5Gq5mkHYdu8OIgJn7/4d33NoRxuS8w==";
    X509Cert *x509_1 = [[X509Cert alloc] initWithBase64:cert1];
    NSLog(@"[CFCA] 签名证书1：");
    [x509_1 printCert];
    
    NSString *cert_2 = @"MIIDWjCCAv6gAwIBAgIIMwAAAzIwSTcwDAYIKoEcz1UBg3UFADBcMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRswGQYDVQQDDBJDRkNBIEFDUyBTTTIgT0NBMzMwHhcNMjAwOTE0MDMyNjQ2WhcNMjEwOTEwMDkyMDEzWjCBijELMAkGA1UEBhMCQ04xFzAVBgNVBAoMDkNGQ0EgQUNTIE9DQTMzMREwDwYDVQQLDAhZQkdHWllaWDEVMBMGA1UECwwMSW5kaXZpZHVhbC0yMTgwNgYDVQQDDC9ZQkdHWllaWEDmnY7pmLPlu7rpgKDluIgxQFo1MTEzMjExOTk0MDIwNTExMzJAMzBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABGB4zHDyat7fN95bEuji7a0KWKuaa5xfVTm0ESDMwEz34AR9RCl6G5lZHBwUXGdhP12uqGl5GjnyObLGDtANxrOjggF3MIIBczBvBggrBgEFBQcBAQRjMGEwKAYIKwYBBQUHMAGGHGh0dHA6Ly9vY3NwLmNmY2EuY29tLmNuL29jc3AwNQYIKwYBBQUHMAKGKWh0dHA6Ly9jcmwuY2ZjYS5jb20uY24vb2NhMzMvb2NhMzNzbTIuY2VyMB8GA1UdIwQYMBaAFBHQKCGe9HJZ/mQI6Z3bpGmEEnG8MAkGA1UdEwQCMAAwSAYDVR0gBEEwPzA9BghggRyG7yoBBDAxMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmNmY2EuY29tLmNuL3VzL3VzLTE0Lmh0bTA8BgNVHR8ENTAzMDGgL6AthitodHRwOi8vY3JsLmNmY2EuY29tLmNuL29jYTMzL1NNMi9jcmwxOTEuY3JsMA4GA1UdDwEB/wQEAwIGwDAdBgNVHQ4EFgQUkXaIuEehhYJPVDfaRPsr4ZqJYkwwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMAwGCCqBHM9VAYN1BQADSAAwRQIhAO6kQNMoZQgq6xkirtIzGS9wffBAYf+nj4PiE1QrzZFCAiApLUs+Jqi9zxZVagWFWC/Pt39HxDa8TvdV0O+twGnKcQ==";
    X509Cert *x509_2 = [[X509Cert alloc] initWithBase64:cert_2];
    NSLog(@"[CFCA] 签名证书2：");
    [x509_2 printCert];
}

// 测试：一证通CA证书
- (void)testYZTCert {
    NSString *cert = @"MIIDUjCCAjqgAwIBAgIMQX3guZwnpL6BNWiWMA0GCSqGSIb3DQEBCwUAMHUxCzAJBgNVBAYTAkNOMQ8wDQYDVQQIHgZTV06sXgIxDzANBgNVBAceBmxfgs93ATEQMA4GA1UEChMHU21hcnRDQTERMA8GA1UECx4IZnphZwBDAEExHzAdBgNVBAMUFlNtYXJ0Q0EgUlNBIENBMV9TVUJDQTEwHhcNMjIwMjA5MDk0NjE0WhcNMjIwMjA5MDk1NjE0WjB+MT0wOwYDVQQDDDTnlJgqQDUwMDM4MSoqKioqKioqNDIxMkBmMjAwNjIwMzhkNjU1NjVkYjg1OTY3NmM3NmNkMTAwLgYDVQQKDCfljZfkuqzlo7nor4HpgJrkv6Hmga/np5HmioDmnInpmZDlhazlj7gxCzAJBgNVBAYTAkNOMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCklp2d4xc6IJmGPp5clQy171uHChv7ZLIlgILfylX58lfuJ+UR+VQ9H8flxQnuTxcvKPDZCY9ZEbIhfhgvobF0pk5sFvSgVWxx6e/LjOtm5WcwwSTRk8sJJrobyK+LcYrauYHjpFKL91VLHFBCOnaLPsxhcufJp8FunHEEhlMsuwIDAQABo10wWzAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSrBa3JrWq6wiAIING04Vgent+8VDAfBgNVHSMEGDAWgBRgboU3fr+LzMKVkQzYCZ/mTxndSTALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQELBQADggEBABzvwzGrNsW9tX0L3bn/6pdiwzndg02wFj5ikuPCYY53CATYB5FF1iF/QqZkVjIu5AceVw1I/6fkeKnLbrnePWbMuB1qOXSjbyPAM7YuR43Mz7p4snPqqLrX5uOJSj9l/rlOkSg584/wmdOjm/6aH/+BOaBxxV6FLTXky9zi3VRrZ9OgpPNLy5V3Aoe0XGNzE1nP6WDvYKyhtPnMtqWGFCkZJUis9vb4lhNSX1AkowOdCU1W8VIT4D3hJJGi2CEHsnU8piHYkaZYUxITSISSj5DOOLiL9501nUhAxsSo485z/GFioUx99Dakv8y5xDLwOPxex3LfobKyJ0bdhbblC7s=";
    X509Cert *x509 = [[X509Cert alloc] initWithBase64:cert];
    NSLog(@"[壹证通CA] 签名证书：");
    [x509 printCert];
    
    NSString *cert_1 = @"MIIDUzCCAjugAwIBAgIMYnESmYjw6YOfdudkMA0GCSqGSIb3DQEBCwUAMHUxCzAJBgNVBAYTAkNOMQ8wDQYDVQQIHgZTV06sXgIxDzANBgNVBAceBmxfgs93ATEQMA4GA1UEChMHU21hcnRDQTERMA8GA1UECx4IZnphZwBDAEExHzAdBgNVBAMUFlNtYXJ0Q0EgUlNBIENBMV9TVUJDQTEwHhcNMjAwNzAyMDU0MzUyWhcNMjAwNzAyMDU1MzUyWjB/MT4wPAYDVQQDDDXmr5UqKkAzNzEwODIqKioqKioqKjgzMTNAZjIwMDVlZmQ3NDE3NTY1ZGI4N2M1ZjQwYzFmZTEwMC4GA1UECgwn5Y2X5Lqs5aO56K+B6YCa5L+h5oGv56eR5oqA5pyJ6ZmQ5YWs5Y+4MQswCQYDVQQGEwJDTjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAoVmSXCt4sSqw6wr/0jOeA23/pb7fWDcIgLuY3iCikkBLqZIXYTasP+GvMVxFUq16XlHBSd2AQAPi8VnTSfAdTJ3XYS590uFdN4qmY1E3ZqfHIGLpMosr1ma27Zq8gKu8sVB3b7Jlwh4ObhKPaJSY2y8dsQ7JvuTihwS2jT8mgbcCAwEAAaNdMFswDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUk+m+X6kptpMyoFFdhbqtxY1iH1swHwYDVR0jBBgwFoAUYG6FN36/i8zClZEM2Amf5k8Z3UkwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEBCwUAA4IBAQCvm7qemzHsxhv5a+pXAbcKo12FWMFOnMmMsqoGi7WSrkH6sevP6t1x+zk/V8WqvCpnvp7Z8381nb0imeVT4Hrn/uhJNMsPg8F2cDNqxMw6P6KeyxMD3NjpMZcOlEBAwD+R2IvUUEZy/kSSd5/Z5M7HTqnZJqmnf51HR6jiNJU1NHAfXcppKlTq9yQqYJS7iISLqT/cBXIF6gn1dXxRD9xPm94LbMeRamqvKx6myS0t6dHe3EuvWtHhnXfjf+GfAiP8Z+pZU4PRAQTkPJTKxWD4cPEYkPtwzBzHOZMZU/o8pCNSqTkYXeygyzwhnilnhtE778ixlc40OqJYLNrW9BUM";
    X509Cert *x509_1 = [[X509Cert alloc] initWithBase64:cert_1];
    NSLog(@"[壹证通CA] 签名证书 1：");
    [x509_1 printCert];
}

/*
 A3 82 01 80(384):
    30 82 01 7C(380):
        30 1F(31):
            06 03(03): 55 1D 23
            04 18(24):
                30 16(22):
                    80 14(20): 1F E6 CF D4 8F C5 22 2A 97 4A 29 8A 15 E7 16 C9 92 34 C4 B6
        30 1D(29):
            06 03(03): 55 1D 0E
            04 16(22):
                04 14(20): 04 42 E3 9C 39 3D 1E 51 2E 72 05 D8 99 02 F8 0E 35 27 F8 62
        30 0B(11):
            06 03(03): 55 1D 0F
            04 04(04):
                03 02(02): 06 C0        0000 0110 1100 0000  Digital Signature, Non Repudiation
        30 81 A2(162):
            06 03(03): 55 1D 1F
            04 81 9A(154):          http://javadoc.iaik.tugraz.at/iaik_jce/old/iaik/x509/extensions/CRLDistributionPoints.html
                30 81 97(151):      DistributionPoint: []
                    30 60(96):          distributionPoint DistributionPointName
                        A0 5E(94):          fullName -> GeneralNames[]
                            A0 5C(92):           GeneralName
                                A4 5A(90):          directory -> Name ->https://www.cnblogs.com/jiu0821/p/4598352.html
                                    30 58(88):
                                        31 0B(11):
                                            30 09(09):
                                                06 03(03): 55 04 06
                                                13 02(02): 43 4E
                                        31 0D(13):
                                            30 0B(11):
                                                06 03(03): 55 04 0A
                                                0C 04(04): 42 4A 43 41
                                        31 0D(13):
                                            30 0B(11):
                                                06 03(03): 55 04 0B
                                                0C 04(04): 42 4A 43 41
                                        31 17(23):
                                            30 15(21):
                                                06 03(03): 55 04 03
                                                0C 0E(14): 42 65 69 6A 69 6E 67 20 53 4D 32 20 43 41
                                        31 12(18):
                                            30 10(16):
                                                06 03(03): 55 04 03
                                                13 09(09): 63 61 32 31 63 72 6C 32 39
                    30 33(51):
                        A0 31(49):
                            A0 2F(47):
                                86 2D(45): 68 74 74 70 3A 2F 2F 31 31 31 2E 32 30 37 2E 31 37 37 2E 31 38 39 3A 38 30 30 33 2F 63 72 6C 2F 63 61 32 31 63 72 6C 32 39 2E 63 72 6C
        30 24(36):
            06 0A(10): 2A 81 1C 86 EF 32 02 01 01 01
            04 16(22): 0C 14 4A 4A 39 39 39 31 30 31 30 38 37 35 36 37 31 33 38 38 38 30
        30 2D(45):
            06 0A(10): 2A 81 1C 86 EF 32 02 01 01 17
            04 1F(31): 0C 1D 31 40 32 31 35 30 30 39 4A 4A 30 39 39 39 31 30 31 30 38 37 35 36 37 31 33 38 38 38 30
        30 1D(29):
            06 08(08): 2A 56 86 48 01 81 30 01
            04 11(17): 0C 0F 39 39 38 30 30 30 31 30 30 33 35 31 31 32 35
        30 14(20):
            06 0A(10): 2A 81 1C 86 EF 32 02 01 01 1E
            04 06(06): 0C 04 32 32 36 37
 */
/*
 30 0A 06 08 2A 81 1C CF 55 01 83 77 03 47 00 30 44 02 20 19 1C BF F3 AD CE 54 AE 1E 4A 77 49 7D F3 AA FD F6 D0 CB 53 FB E4 82 41 68 1A 84 0B B3 22 B3 1D 02 20 0E 61 C2 E9 64 EA 67 D4 91 62 19 D3 23 03 1A 98 3D A3 76 59 CC 2D 1A 79 D3 AB 8D 68 AC 15 CB
 */
// 测试：北京CA证书
- (void)testBJCACert {
    NSString *cert_enterprise = @"MIIDQDCCAuegAwIBAgIKGhAAAAAAAAsD1TAKBggqgRzPVQGDdzBEMQswCQYDVQQGEwJDTjENMAsGA1UECgwEQkpDQTENMAsGA1UECwwEQkpDQTEXMBUGA1UEAwwOQmVpamluZyBTTTIgQ0EwHhcNMjEwMzE3MTYwMDAwWhcNMjEwNjE4MTU1OTU5WjCBgjELMAkGA1UEBhMCQ04xKjAoBgNVBAoMIeWMl+S6rOmAmuWkqeS/oeenkeaKgOaciemZkOWFrOWPuDEqMCgGA1UEAwwh5YyX5Lqs6YCa5aSp5L+h56eR5oqA5pyJ6ZmQ5YWs5Y+4MRswGQYDVQQtDBI5OTkxMDEwODc1NjcxMzg4ODAwWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAATZpTttwWjFGrX/c1MjE3h9KAODFUhlpXOyP7icX9TIOktsyBGYe0lQee80f1gK+UGuRzVWjm2AM+1z5aCiL36Zo4IBgDCCAXwwHwYDVR0jBBgwFoAUH+bP1I/FIiqXSimKFecWyZI0xLYwHQYDVR0OBBYEFARC45w5PR5RLnIF2JkC+A41J/hiMAsGA1UdDwQEAwIGwDCBogYDVR0fBIGaMIGXMGCgXqBcpFowWDELMAkGA1UEBhMCQ04xDTALBgNVBAoMBEJKQ0ExDTALBgNVBAsMBEJKQ0ExFzAVBgNVBAMMDkJlaWppbmcgU00yIENBMRIwEAYDVQQDEwljYTIxY3JsMjkwM6AxoC+GLWh0dHA6Ly8xMTEuMjA3LjE3Ny4xODk6ODAwMy9jcmwvY2EyMWNybDI5LmNybDAkBgoqgRyG7zICAQEBBBYMFEpKOTk5MTAxMDg3NTY3MTM4ODgwMC0GCiqBHIbvMgIBARcEHwwdMUAyMTUwMDlKSjA5OTkxMDEwODc1NjcxMzg4ODAwHQYIKlaGSAGBMAEEEQwPOTk4MDAwMTAwMzUxMTI1MBQGCiqBHIbvMgIBAR4EBgwEMjI2NzAKBggqgRzPVQGDdwNHADBEAiAZHL/zrc5Urh5Kd0l986r99tDLU/vkgkFoGoQLsyKzHQIgDmHC6WTqZ9SRYhnTIwMamD2jdlnMLRp506uNaKwVywA=";
    X509Cert *x509_Enterprise = [[X509Cert alloc] initWithBase64:cert_enterprise];
    NSLog(@"[北京CA] 企业签名证书: ");
    [x509_Enterprise printCert];
    
    NSString *cert_enterprise1 = @"MIIDpzCCA06gAwIBAgIKGhAAAAAAAAv4DTAKBggqgRzPVQGDdTBEMQswCQYDVQQGEwJDTjENMAsGA1UECgwEQkpDQTENMAsGA1UECwwEQkpDQTEXMBUGA1UEAwwOQmVpamluZyBTTTIgQ0EwHhcNMjEwOTI4MTYwMDAwWhcNMjExMjI5MTU1OTU5WjBQMQswCQYDVQQGDAJDTjEPMA0GA1UECAwG5YyX5LqsMR8wHQYJKoZIhvcNAQkBDBAzODA2OTI4NzVAcXEuY29tMQ8wDQYDVQQDDAbpkrHolJowWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAAQrG645A6aK2OsdqWTTtiPyFEQr6I9Cnv1gNjPJzApq0Vq3BZvg1iMDBjUffFqe6mVGkbBxpPSzCDECHnD38el1o4ICGjCCAhYwHwYDVR0jBBgwFoAUH+bP1I/FIiqXSimKFecWyZI0xLYwHQYDVR0OBBYEFMdrfz32mIM91awS/hz+DSm6r/kyMA4GA1UdDwEB/wQEAwIGwDCBogYDVR0fBIGaMIGXMGCgXqBcpFowWDELMAkGA1UEBhMCQ04xDTALBgNVBAoMBEJKQ0ExDTALBgNVBAsMBEJKQ0ExFzAVBgNVBAMMDkJlaWppbmcgU00yIENBMRIwEAYDVQQDEwljYTIxY3JsMjkwM6AxoC+GLWh0dHA6Ly8xMTEuMjA3LjE3Ny4xODk6ODAwMy9jcmwvY2EyMWNybDI5LmNybDAkBgoqgRyG7zICAQEBBBYMFFNGNTEwNzAzMTk5MTA2MDcwMDQ5MCAGCGCGSAGG+EQCBBQMEjUxMDcwMzE5OTEwNjA3MDA0OTAfBgoqgRyG7zICAQEOBBEMDzk5ODAwMDEwMDU0Mjg2NzAtBgoqgRyG7zICAQEXBB8MHTFAMjE1MDA5U0YwNTEwNzAzMTk5MTA2MDcwMDQ5MCAGCCqBHNAUBAEBBBQMEjUxMDcwMzE5OTEwNjA3MDA0OTAUBgoqgRyG7zICAQEeBAYMBDIyNjcwTwYJKoEchu8yBgMCBEIMQDhiM2I2ZWZmYWUzOGFhMDMxNDhkM2E2NjFhYzc2ODhiNGJkZmFlNTc4ZTE0MDRhYzBjZWZjY2MwMjRlNTI0ZTUwCgYIKoEcz1UBg3UDRwAwRAIgPhkhrAtcBhBoNpFaG+h2DajwAR8AjtmgoSe7UcHXW1sCIHaNuaPyqpu+AS3bwW1NaIeiyIeqZprguQjSJ3S8Hbyd";
    X509Cert *x509_Enterprise1 = [[X509Cert alloc] initWithBase64:cert_enterprise1];
    NSLog(@"[北京CA] 企业签名证书1: ");
    [x509_Enterprise1 printCert];
    
    
    NSString *cert_persion_fa = @"MIIDuzCCA2KgAwIBAgIKGhAAAAAAAAwEZzAKBggqgRzPVQGDdTBEMQswCQYDVQQGEwJDTjENMAsGA1UECgwEQkpDQTENMAsGA1UECwwEQkpDQTEXMBUGA1UEAwwOQmVpamluZyBTTTIgQ0EwHhcNMjExMDI1MTYwMDAwWhcNMjIwMTI2MTU1OTU5WjBkMQswCQYDVQQGDAJDTjEPMA0GA1UECAwG5a6J5b69MQ8wDQYDVQQHDAbmsaDlt54xHzAdBgkqhkiG9w0BCQEMEDgzNDE3NDk0M0BRUS5jb20xEjAQBgNVBAMMCeenpumdluaYgDBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABPweClDBpGwBP1KguHeL2sqyaGrc5Lxe+ASeSNe78ziBxtpOmx4IG1OABQnmR96sc9rF3cRKpq51BbPMH0SEguGjggIaMIICFjAfBgNVHSMEGDAWgBQf5s/Uj8UiKpdKKYoV5xbJkjTEtjAdBgNVHQ4EFgQUELBaF0mHAPBz2x6dSNOiBchqoWIwDgYDVR0PAQH/BAQDAgbAMIGiBgNVHR8EgZowgZcwYKBeoFykWjBYMQswCQYDVQQGEwJDTjENMAsGA1UECgwEQkpDQTENMAsGA1UECwwEQkpDQTEXMBUGA1UEAwwOQmVpamluZyBTTTIgQ0ExEjAQBgNVBAMTCWNhMjFjcmwyOTAzoDGgL4YtaHR0cDovLzExMS4yMDcuMTc3LjE4OTo4MDAzL2NybC9jYTIxY3JsMjkuY3JsMCQGCiqBHIbvMgIBAQEEFgwUU0YxNDIyMjkxOTk1MDgxMzMzMTIwIAYIYIZIAYb4RAIEFAwSMTQyMjI5MTk5NTA4MTMzMzEyMB8GCiqBHIbvMgIBAQ4EEQwPOTk4MDAwMTAwNTI2OTExMC0GCiqBHIbvMgIBARcEHwwdMUAyMTUwMDlTRjAxNDIyMjkxOTk1MDgxMzMzMTIwIAYIKoEc0BQEAQEEFAwSMTQyMjI5MTk5NTA4MTMzMzEyMBQGCiqBHIbvMgIBAR4EBgwEMjI2NzBPBgkqgRyG7zIGAwIEQgxAMGNjZGUwMWRiZWQyY2ExZTk1YWRmYzRhYTU2ODRkYmFkNGFiZDY1YjQ1NTg0YWVmYzM0MDYxMGJmOGI2OWEwMzAKBggqgRzPVQGDdQNHADBEAiA4QIvA7SeYHMQl0TU3S/RvsVXOc84n2hlfGlKVuBgxawIgM5f+HjnZbZStPq/SBCDjKno02LA5FIPeJLYuI0Hgpis=";
    X509Cert *x509_Person_Fa = [[X509Cert alloc] initWithBase64:cert_persion_fa];
    NSLog(@"[北京CA] 法人签名证书: ");
    [x509_Person_Fa printCert];
}

// 测试：云南CA证书
- (void)testYNCACert {
    NSString *cert = @"MIIC8TCCApagAwIBAgIIaeIAAAAfhNYwDAYIKoEcz1UBg3UFADCBgjELMAkGA1UEBhMCQ04xDzANBgNVBAgMBll1bm5hbjEQMA4GA1UEBwwHS3VubWluZzENMAsGA1UECgwEeW5jYTEuMCwGA1UECwwlWXVubmFuIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENlbnRyZTERMA8GA1UEAwwIWU5DQV9TTTIwHhcNMjEwODI1MDgwMjE2WhcNMjIwODI1MDgwMjE2WjB7MRswGQYDVQQrDBI1MzI5MjUxOTg5MTAyMjAwNTIxEjAQBgNVBCoMCeazleS6ujEwOTEeMBwGA1UEIAwV562R6b6Z5rWL6K+V5LyB5LiaMTA5MQswCQYDVQQGEwJDTjEbMBkGA1UEAwwSVFJVRUxPUkVURVNUMDEwNTU1MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEnnoWpaRAXbllg3BLFlpp+FS3TPfgTZPnUIFkk9778igeMST1lrGH44Fu0ia+tnLE1E64IdJSR0MNDzd08ub6BaOB+TCB9jAMBgNVHRMEBTADAQEAMDQGA1UdJQEB/wQqMCgGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEMAsGA1UdDwQEAwIA9DARBglghkgBhvhCAQEEBAMCAJAwHwYDVR0jBBgwFoAUOMMLpn4ZfA7PDT6i7MUfavy5tOAwHQYDVR0OBBYEFGxELPBUEVDrVJpFmaN4xCzvp9V+MFAGA1UdIARJMEcwRQYIKoEcz1UIAQEwOTA3BggrBgEFBQcCARYraHR0cDovL3d3dy55dW5uYW5jYS5uZXQvP3BpY2Rvd24vaWQvMjMuaHRtbDAMBggqgRzPVQGDdQUAA0cAMEQCIAb02edxfcnE/bbDsqBRjG1xoCxcmS5LAHMKvcjIjB3AAiBTxWihNdGQxoZC5ZoMKfPlvl8cz8s6iONEDHyEUNrQxw==";
    X509Cert *x509 = [[X509Cert alloc] initWithBase64:cert];
    NSLog(@"[云南CA] 签名证书: ");
    [x509 printCert];
    
    NSString *cert_1 = @"MIICpzCCAkygAwIBAgIIaeIA8wAYCAQwDAYIKoEcz1UBg3UFADCBgjELMAkGA1UEBhMCQ04xDzANBgNVBAgMBll1bm5hbjEQMA4GA1UEBwwHS3VubWluZzENMAsGA1UECgwEeW5jYTEuMCwGA1UECwwlWXVubmFuIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENlbnRyZTERMA8GA1UEAwwIWU5DQV9TTTIwHhcNMjAwOTI4MDYwNTIyWhcNMjEwOTI4MDYwNTIyWjBOMQwwCgYDVQQgDAMxMTExFDASBgNVBBQMCzE4MDg3NTA1MzI0MQswCQYDVQQGEwJDTjEbMBkGA1UEAwwSMTIzNDU2Nzg5Nzg5NDU2MTIzMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEbGSeMEgS/D/ZILaOkOmpV5i4g5tGvcCO1iYbohKeEoAZNjv5Ci6Ua3wlPGfaCMfGtqUUe+fh8LBxEDvPD9la4KOB3DCB2TAMBgNVHRMEBTADAQEAMCoGA1UdJQEB/wQgMB4GCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwQwCwYDVR0PBAQDAgDAMB8GA1UdIwQYMBaAFDjDC6Z+GXwOzw0+ouzFH2r8ubTgMB0GA1UdDgQWBBSLpkTJHVvGtBCszLAV851NXrk0mTBQBgNVHSAESTBHMEUGCCqBHM9VCAEBMDkwNwYIKwYBBQUHAgEWK2h0dHA6Ly93d3cueXVubmFuY2EubmV0Lz9waWNkb3duL2lkLzIzLmh0bWwwDAYIKoEcz1UBg3UFAANHADBEAiAb8NaXUBxDLeLeDtRi+VXWZR6dmklw3RWlpP1d1qkz9QIgDHGN5kmZbdXAUEDx9zGV1aIQ3bRqMNOXIXSH1w8vtcU=";
    X509Cert *x509_1 = [[X509Cert alloc] initWithBase64:cert_1];
    NSLog(@"[云南CA] 签名证书 1: ");
    [x509_1 printCert];
    
    NSString *encert = @"MIIC5zCCAoygAwIBAgIIaeIA8AAfhNUwDAYIKoEcz1UBg3UFADCBgjELMAkGA1UEBhMCQ04xDzANBgNVBAgMBll1bm5hbjEQMA4GA1UEBwwHS3VubWluZzENMAsGA1UECgwEeW5jYTEuMCwGA1UECwwlWXVubmFuIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENlbnRyZTERMA8GA1UEAwwIWU5DQV9TTTIwHhcNMjEwODI1MDgwMjE2WhcNMjIwODI1MDgwMjE2WjB7MRswGQYDVQQrDBI1MzI5MjUxOTg5MTAyMjAwNTIxEjAQBgNVBCoMCeazleS6ujEwOTEeMBwGA1UEIAwV562R6b6Z5rWL6K+V5LyB5LiaMTA5MQswCQYDVQQGEwJDTjEbMBkGA1UEAwwSVFJVRUxPUkVURVNUMDEwNTU1MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEkGINd/iIMA7vFPqSJtvY6bMjblTkWgaQGoiwGNMO3P1sY3y/SHdh8JN4MegLxvsHeQIi+7W1Bn/JNKFKS+B0LqOB7zCB7DAMBgNVHRMEBTADAQEAMCoGA1UdJQEB/wQgMB4GCCsGAQUFBwMDBggrBgEFBQcDBAYIKwYBBQUHAwgwCwYDVR0PBAQDAgA4MBEGCWCGSAGG+EIBAQQEAwIAwDAfBgNVHSMEGDAWgBQ4wwumfhl8Ds8NPqLsxR9q/Lm04DAdBgNVHQ4EFgQUJEDEw8crwYQrGFdb+pjFlJgFI9UwUAYDVR0gBEkwRzBFBggqgRzPVQgBATA5MDcGCCsGAQUFBwIBFitodHRwOi8vd3d3Lnl1bm5hbmNhLm5ldC8/cGljZG93bi9pZC8yMy5odG1sMAwGCCqBHM9VAYN1BQADRwAwRAIgCtJCxnf3TVnu2X4kYsrAbkLrB6vFatWBtoaBiUZlu3oCIGKlS7AqpvvVl+Q2/OS9YkSiR/PY8qdMYv95HczVAYJ1";
    X509Cert *x509En = [[X509Cert alloc] initWithBase64:encert];
    NSLog(@"[云南CA] 加密证书: ");
    [x509En printCert];
    
    NSString *cert_fa = @"MIICsjCCAlegAwIBAgIIaeIAqgAYB3MwDAYIKoEcz1UBg3UFADCBgjELMAkGA1UEBhMCQ04xDzANBgNVBAgMBll1bm5hbjEQMA4GA1UEBwwHS3VubWluZzENMAsGA1UECgwEeW5jYTEuMCwGA1UECwwlWXVubmFuIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENlbnRyZTERMA8GA1UEAwwIWU5DQV9TTTIwHhcNMjAwODI4MDczNDU3WhcNMjEwODI4MDczNDU3WjBZMSYwJAYDVQQgDB3pmL/ljZzmnZzlhYvml6XmnKjCt+WQvuW6j+WwlDEUMBIGA1UEFAwLMTU2ODkwMzMwMzkxCzAJBgNVBAYTAkNOMQwwCgYDVQQDDAMxMjMwWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAAQani68TLK2Dld3t1wKXpkg5bOhk+781yeapJK/ELmoMFIiHawMKCyscW86cW2GkOEWcBJ/ZEtDX1tZTVNjuiZRo4HcMIHZMAwGA1UdEwQFMAMBAQAwKgYDVR0lAQH/BCAwHgYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDBDALBgNVHQ8EBAMCAMAwHwYDVR0jBBgwFoAUOMMLpn4ZfA7PDT6i7MUfavy5tOAwHQYDVR0OBBYEFFRfeLYaHzAL+ZmKrFXfUGH2rOPPMFAGA1UdIARJMEcwRQYIKoEcz1UIAQEwOTA3BggrBgEFBQcCARYraHR0cDovL3d3dy55dW5uYW5jYS5uZXQvP3BpY2Rvd24vaWQvMjMuaHRtbDAMBggqgRzPVQGDdQUAA0cAMEQCIH84XeDEelUmHS01UKUUMHUjDP2At2AzEMYR0duVNaVVAiA3AeDbh8jr9NN1Sl5g2W6mDoxhiyrnvJMiPk+6Bh0olw==";
    X509Cert *x509Fa = [[X509Cert alloc] initWithBase64:cert_fa];
    NSLog(@"[云南CA] 法人签名证书: ");
    [x509Fa printCert];
}

// 测试：天威CA证书
- (void)testTWCACert {
    NSString *cert = @"MIIC/DCCAqGgAwIBAgIUG4lXo7F8djdOn/8bRsocVcriz+4wDAYIKoEcz1UBg3UFADBbMSwwKgYDVQQDDCPlpKnor5rlronkv6HmtYvor5VTTTLljZXor4HnlKjmiLdDQTEOMAwGA1UECwwFVE9QQ0ExDjAMBgNVBAoMBVRPUENBMQswCQYDVQQGEwJDTjAeFw0yMDAyMTgwMjQ1MjlaFw0yMTAyMTcwMjQ1MjlaMIGpMSMwIQYDVQQDDBrnrZHpvpnmtYvor5XmnLrmnoQwMDMo5pawKTEjMCEGA1UECgwa562R6b6Z5rWL6K+V5py65p6EMDAzKOaWsCkxCzAJBgNVBAYMAkNOMRswGQYDVQQLDBI5MTMxMDAwMDc4NDI2MDEzM0ExHzAdBgNVBAsMFmV4dDo5MTMxMDAwMDc4NDI2MDEzM0ExEjAQBgNVBAgMCeS6pOaYkzM2NTBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABDFUA7xSVyklXuL6hYC04s7kYCSXwwO9ZMooKdgHugf/2ud2QY8HRc7Eg7EqHzrWfyYvWsgUiw1HrQA4aHQXFpSjgfEwge4wDwYDVR0TBAgwBgEB/wIBAzALBgNVHQ8EBAMCBaAwZgYDVR0uBF8wXTBboFmgV4ZVaHR0cDovL3RvcGNhLml0cnVzLmNvbS5jbi9wdWJsaWMvaXRydXNjcmw/Q0E9MTlGMTc1NzMwNDk4RkY5ODJDNTg0NEU2M0U5NEI2RTI1MEM0NzNFQzBmBgNVHR8EXzBdMFugWaBXhlVodHRwOi8vdG9wY2EuaXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xOUYxNzU3MzA0OThGRjk4MkM1ODQ0RTYzRTk0QjZFMjUwQzQ3M0VDMAwGCCqBHM9VAYN1BQADRwAwRAIgfF0cJ/sDF/0WcE2cUV2f/eWIw18qPjzii+xiw/7cqfgCIJTY1fbqVOfoW8E2FSi1Dcf3qMg4w2zRQD0Td8dl9K2o";
    X509Cert *x509 = [[X509Cert alloc] initWithBase64:cert];
    NSLog(@"[天威CA] 签名证书: ");
    [x509 printCert];
}

// 测试：黄岛CA证书
- (void)testHDCACert {
    NSString *cert = @"MIIC0TCCAnagAwIBAgIIICAIGQA3KTYwCgYIKoEcz1UBg3UwbzEaMBgGA1UEAwwRU2hhbkRvbmdTTTJUZXN0Q0ExDTALBgNVBAsMBFNEQ0ExDTALBgNVBAoMBFNEQ0ExEjAQBgNVBAcMCea1juWNl+W4gjESMBAGA1UECAwJ5bGx5Lic55yBMQswCQYDVQQGEwJDTjAeFw0yMDA4MTkwOTEzMjFaFw0yMDA5MTgwOTEzMjFaMIGgMSwwKgYDVQQDDCPljJfkuqznrZHpvpnmtYvmiYvmnLror4HkvIHkuJpANTI3ODEbMBkGA1UECwwSMTIzNDU2Nzg5MDg4ODg4ODg4MScwJQYDVQQKDB7ljJfkuqznrZHpvpnmtYvmiYvmnLror4HkvIHkuJoxEDAOBgNVBAcMB3FpbmdkYW8xCzAJBgNVBAgMAlNEMQswCQYDVQQGDAJDTjBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABOqcg3SEhAooXXI9rN1+SEk7mc7ZS0lVtT5n8yrw+sbQboUyvnVp6sCVvdWJF6G/P25/wKDk5QmBph11CKtCkU6jgckwgcYwDgYDVR0PAQH/BAQDAgQwMB8GA1UdIwQYMBaAFBxdrOHAKs5eSsyj9C8i/6Om8wTOMB0GA1UdDgQWBBQePKkz8oIsTmuq8iva2KfwAMzeozBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vMjIxLjIxNC41LjY2OjgwODgvU2hhbkRvbmdTTTJDQS9TTTJDUkwuanNwMAkGA1UdEwQCMAAwJQYIKoEc0BQEAQQEGRMXMTIzNDU2Nzg5MDg4ODg4ODg4QDUyNzgwCgYIKoEcz1UBg3UDSQAwRgIhAP61kbO8ZNNJZ8GKHVOGFVQ8+sQmjBQz1uGFLFklLk9tAiEAn9cGJyEF7BnxsJJoPGp58tng5AAaNxMBZxebNA4WNog=";
    X509Cert *x509 = [[X509Cert alloc] initWithBase64:cert];
    NSLog(@"[天威CA] 签名证书: ");
    [x509 printCert];
    
    NSString *cert_1 = @"MIIC1TCCAnqgAwIBAgIIICAJEgA3RSYwCgYIKoEcz1UBg3UwbzEaMBgGA1UEAwwRU2hhbkRvbmdTTTJUZXN0Q0ExDTALBgNVBAsMBFNEQ0ExDTALBgNVBAoMBFNEQ0ExEjAQBgNVBAcMCea1juWNl+W4gjESMBAGA1UECAwJ5bGx5Lic55yBMQswCQYDVQQGEwJDTjAeFw0yMDA5MTIxMTQ4MjhaFw0yMDEwMTIxMTQ4MjhaMIGgMSwwKgYDVQQDDCPljJfkuqznrZHpvpnmtYvmiYvmnLror4HkvIHkuJpANTUzMDEbMBkGA1UECwwSMTIzNDU2Nzg5MDg4ODg4ODg4MScwJQYDVQQKDB7ljJfkuqznrZHpvpnmtYvmiYvmnLror4HkvIHkuJoxEDAOBgNVBAcMB3FpbmdkYW8xCzAJBgNVBAgMAlNEMQswCQYDVQQGDAJDTjBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABHPaiWXniMdQx5m5EPbKgskZ9HgK0eBcmKMkLCPOJ/+wzGQ2P/E9GGYDwCaET2MSUibRvuhEMdq9PPD/VI1adfmjgc0wgcowHwYDVR0jBBgwFoAUHF2s4cAqzl5KzKP0LyL/o6bzBM4wHQYDVR0OBBYEFEpuEurZTQ0eU7cl0BzriiGhRyxaMAkGA1UdEwQCMAAwRgYDVR0fBD8wPTA7oDmgN4Y1aHR0cDovLzIyMS4yMTQuNS44MDo4MDg4L1NoYW5Eb25nU00yVGVzdENBL1NNMkNSTC5qc3AwDgYDVR0PAQH/BAQDAgbAMCUGCCqBHNAUBAEFBBkTFzEyMzQ1Njc4OTA4ODg4ODg4OEA1NTMwMAoGCCqBHM9VAYN1A0kAMEYCIQCBDolokkfMS5xbcG4ZJt01h6RgfUHKx8Zyy3Wyi175twIhAKklL03PpTOrbPeF4lEdOXeFutMvFNENUygHGeKozcOZ";
    X509Cert *x509_1 = [[X509Cert alloc] initWithBase64:cert_1];
    NSLog(@"[天威CA] 签名证书 1: ");
    [x509_1 printCert];
}

// 测试：贵州CA证书
- (void)testGZCACert {
    NSString *cert = @"MIIDEDCCArWgAwIBAgIPBwAFICIBEwEAAAAAWWg0MAwGCCqBHM9VAYN1BQAwgYYxCzAJBgNVBAYTAkNOMQ8wDQYDVQQIDAbotLXlt54xDzANBgNVBAcMBui0temYszEqMCgGA1UECgwh6LS15bee55yB55S15a2Q6K+B5Lmm5pyJ6ZmQ5YWs5Y+4MRIwEAYDVQQLDAnov5DokKXpg6gxFTATBgNVBAMMDEdaQ0FPUEVSUk9PVDAeFw0yMTA5MjgwOTM1NTBaFw0yMzA5MjMwOTM1NTBaMCMxCzAJBgNVBAYTAkNOMRQwEgYDVQQDDAvph5HmrKNfVEVTVDBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABJ2nByu1euONdiQZzgTjd2WrDC4MZEiKG5HzJ7xZRPjofqp8B8/rGveUowSf6OLcAbXvGPCuSMNXS1aDcBIyVXCjggFkMIIBYDAfBgNVHSMEGDAWgBTu9P0y4RkYk0oIbmSFR1LLQ3BqFTAdBgNVHQ4EFgQUtLR9vgOm0JZmB3tYiP3cmruTX6IwCwYDVR0PBAQDAgbAME4GA1UdHwRHMEUwQ6BBoD+GPWh0dHA6Ly9jcmwuZ3pjYS5jYzo4MDgwL0daQ0FEb3dubG9hZENlbnRlci9kb3dubG9hZFNtMkNybC5qc3AwgYIGCCsGAQUFBwEBBHYwdDA2BggrBgEFBQcwAYYqaHR0cDovL29jc3AuZ3pjYS5jYzo4MDEzL29jc3Avb2NzcGNnaWMuY2dpMDoGCCsGAQUFBzAChi5odHRwczovL3d3dy5nemNhLmNjL2Rvd24vY2VydC9HWkNBT1BFUlJPT1QuY2VyMCIGCCqBHNAUBAEBBBYxFIASNDExMzIzMTk5MTAxMDMzODNYMBgGBSpWFQEDBA8MDTE2MzI4MTE1OTgxOTQwDAYIKoEcz1UBg3UFAANHADBEAiA+2xL7W9cSJPf4U6X2KnpYF6zoGDbW+djf712JzkAaewIgc+3v1XN4TIW5O2ry0BWJI1YkfHMGjdCN1nLJLIk1WiM=";
    X509Cert *x509 = [[X509Cert alloc] initWithBase64:cert];
    NSLog(@"[贵州CA] 签名证书: ");
    [x509 printCert];
}
// 测试：谷歌证书
- (void)testGoogleCert {
    NSString *cert = @"MIIEwTCCA6mgAwIBAgIRANSwh9Ra7Im8AgAAAABXm9QwDQYJKoZIhvcNAQELBQAwQjELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFUdvb2dsZSBUcnVzdCBTZXJ2aWNlczETMBEGA1UEAxMKR1RTIENBIDFPMTAeFw0yMDAxMjkyMjAxMzdaFw0yMDA0MjIyMjAxMzdaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgTExDMRcwFQYDVQQDEw53d3cuZ29vZ2xlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJGR8JWXAfhtix2BGXbqD5oTx5a88ihCi0azez22oUfeJt9JRz0+tktS1xriqU+nfPYkjRWiY6OKXQDQzvfKckWjggJVMIICUTAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUOsaPWAXTtOPb5/56lIqJSZNBUt8wHwYDVR0jBBgwFoAUmNH4bhDrz5vsYJ8YkBug630J/SswZAYIKwYBBQUHAQEEWDBWMCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5wa2kuZ29vZy9ndHMxbzEwKwYIKwYBBQUHMAKGH2h0dHA6Ly9wa2kuZ29vZy9nc3IyL0dUUzFPMS5jcnQwGQYDVR0RBBIwEIIOd3d3Lmdvb2dsZS5jb20wIQYDVR0gBBowGDAIBgZngQwBAgIwDAYKKwYBBAHWeQIFAzAvBgNVHR8EKDAmMCSgIqAghh5odHRwOi8vY3JsLnBraS5nb29nL0dUUzFPMS5jcmwwggEFBgorBgEEAdZ5AgQCBIH2BIHzAPEAdgCyHgXMi6LNiiBOh2b5K7mKJSBna9r6cOeySVMt74uQXgAAAW/zieHNAAAEAwBHMEUCIAoYAn0medQ8SW7PS3vVaR1HYy3Zr6vrMtEyvF+ArkemAiEA0h4ztv1YiwE4v3XO4csbvKJhwuUqyNu6XvWuBHMd+OcAdwBep3P531bA57U2SH3QSeAyepGaDIShEhKEGHWWgXFFWAAAAW/zieIBAAAEAwBIMEYCIQDZFOwqCwekxHuZQVe9N1maAAovti2ecRaslvtbcCn1rQIhAKhfgEZoN2oib2sf6eUhOaIqMZb4kqjJ0nq2MGGu+QPwMA0GCSqGSIb3DQEBCwUAA4IBAQCbTO7Xt4f3pVnMI6sTqgHrxGyf3CnQTHAP4emYIAgAFIE5Qaf85yGdkyXSlNS8zydqy5YEezlru7lLfqq3zFbXKEp+/1mZmYA6mfb2A2yo+7MV0uNdGF9iVnjfsFAnIxfRLy/D5r/06Pv9+FC3gf67SZwOjbPLI8uTKblrVnQhMMdI7oAMWbmQpvGkXaYsRX/5Xk/8zD7C/Fq08+maXneyGbAimUxKmzLeNX8SHdNKyiA2tbAaqS6pQkZ4kTKHD/Es/H7/j+W4VBXp2owvXBYEhi9u/x5FWsdFpk0Z6UevNXpJGwPcZOs5nTfeVL6en7KJ5JLIfeoNJbK32dHe2rrE";
    X509Cert *x509 = [[X509Cert alloc] initWithBase64:cert];
    NSLog(@"[谷歌CA] 签名证书: ");
    [x509 printCert];
}

- (void)testOtherCert {
    NSString *cert = @"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";
    X509Cert *x509 = [[X509Cert alloc] initWithBase64:cert];
    NSLog(@"[Other CA] 签名证书: ");
    [x509 printCert];
}


- (void)testPerformanceExample {
    // This is an example of a performance test case.
    [self measureBlock:^{
        // Put the code you want to measure the time of here.
    }];
}

@end
